↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
p2: (b,f) (b,b)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
p_2_in_ga2(X, X) -> p_2_out_ga2(X, X)
p_2_in_ga2(f_11(X), g_11(Y)) -> if_p_2_in_1_ga3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_ga3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_ga4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
p_2_in_gg2(X, X) -> p_2_out_gg2(X, X)
p_2_in_gg2(f_11(X), g_11(Y)) -> if_p_2_in_1_gg3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_gg3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_gg4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
if_p_2_in_2_gg4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_gg2(f_11(X), g_11(Y))
if_p_2_in_2_ga4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_ga2(f_11(X), g_11(Y))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
p_2_in_ga2(X, X) -> p_2_out_ga2(X, X)
p_2_in_ga2(f_11(X), g_11(Y)) -> if_p_2_in_1_ga3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_ga3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_ga4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
p_2_in_gg2(X, X) -> p_2_out_gg2(X, X)
p_2_in_gg2(f_11(X), g_11(Y)) -> if_p_2_in_1_gg3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_gg3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_gg4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
if_p_2_in_2_gg4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_gg2(f_11(X), g_11(Y))
if_p_2_in_2_ga4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_ga2(f_11(X), g_11(Y))
P_2_IN_GA2(f_11(X), g_11(Y)) -> IF_P_2_IN_1_GA3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
P_2_IN_GA2(f_11(X), g_11(Y)) -> P_2_IN_GA2(f_11(X), f_11(Z))
IF_P_2_IN_1_GA3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> IF_P_2_IN_2_GA4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
IF_P_2_IN_1_GA3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> P_2_IN_GG2(Z, g_11(W))
P_2_IN_GG2(f_11(X), g_11(Y)) -> IF_P_2_IN_1_GG3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
P_2_IN_GG2(f_11(X), g_11(Y)) -> P_2_IN_GA2(f_11(X), f_11(Z))
IF_P_2_IN_1_GG3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> IF_P_2_IN_2_GG4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
IF_P_2_IN_1_GG3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> P_2_IN_GG2(Z, g_11(W))
p_2_in_ga2(X, X) -> p_2_out_ga2(X, X)
p_2_in_ga2(f_11(X), g_11(Y)) -> if_p_2_in_1_ga3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_ga3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_ga4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
p_2_in_gg2(X, X) -> p_2_out_gg2(X, X)
p_2_in_gg2(f_11(X), g_11(Y)) -> if_p_2_in_1_gg3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_gg3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_gg4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
if_p_2_in_2_gg4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_gg2(f_11(X), g_11(Y))
if_p_2_in_2_ga4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_ga2(f_11(X), g_11(Y))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
P_2_IN_GA2(f_11(X), g_11(Y)) -> IF_P_2_IN_1_GA3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
P_2_IN_GA2(f_11(X), g_11(Y)) -> P_2_IN_GA2(f_11(X), f_11(Z))
IF_P_2_IN_1_GA3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> IF_P_2_IN_2_GA4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
IF_P_2_IN_1_GA3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> P_2_IN_GG2(Z, g_11(W))
P_2_IN_GG2(f_11(X), g_11(Y)) -> IF_P_2_IN_1_GG3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
P_2_IN_GG2(f_11(X), g_11(Y)) -> P_2_IN_GA2(f_11(X), f_11(Z))
IF_P_2_IN_1_GG3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> IF_P_2_IN_2_GG4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
IF_P_2_IN_1_GG3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> P_2_IN_GG2(Z, g_11(W))
p_2_in_ga2(X, X) -> p_2_out_ga2(X, X)
p_2_in_ga2(f_11(X), g_11(Y)) -> if_p_2_in_1_ga3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_ga3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_ga4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
p_2_in_gg2(X, X) -> p_2_out_gg2(X, X)
p_2_in_gg2(f_11(X), g_11(Y)) -> if_p_2_in_1_gg3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_gg3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_gg4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
if_p_2_in_2_gg4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_gg2(f_11(X), g_11(Y))
if_p_2_in_2_ga4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_ga2(f_11(X), g_11(Y))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
IF_P_2_IN_1_GG3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> P_2_IN_GG2(Z, g_11(W))
P_2_IN_GG2(f_11(X), g_11(Y)) -> IF_P_2_IN_1_GG3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
p_2_in_ga2(X, X) -> p_2_out_ga2(X, X)
p_2_in_ga2(f_11(X), g_11(Y)) -> if_p_2_in_1_ga3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_ga3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_ga4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
p_2_in_gg2(X, X) -> p_2_out_gg2(X, X)
p_2_in_gg2(f_11(X), g_11(Y)) -> if_p_2_in_1_gg3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
if_p_2_in_1_gg3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> if_p_2_in_2_gg4(X, Y, Z, p_2_in_gg2(Z, g_11(W)))
if_p_2_in_2_gg4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_gg2(f_11(X), g_11(Y))
if_p_2_in_2_ga4(X, Y, Z, p_2_out_gg2(Z, g_11(W))) -> p_2_out_ga2(f_11(X), g_11(Y))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
IF_P_2_IN_1_GG3(X, Y, p_2_out_ga2(f_11(X), f_11(Z))) -> P_2_IN_GG2(Z, g_11(W))
P_2_IN_GG2(f_11(X), g_11(Y)) -> IF_P_2_IN_1_GG3(X, Y, p_2_in_ga2(f_11(X), f_11(Z)))
p_2_in_ga2(X, X) -> p_2_out_ga2(X, X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
IF_P_2_IN_1_GG1(p_2_out_ga1(f_11(Z))) -> P_2_IN_GG2(Z, g_1)
P_2_IN_GG2(f_11(X), g_1) -> IF_P_2_IN_1_GG1(p_2_in_ga1(f_11(X)))
p_2_in_ga1(X) -> p_2_out_ga1(X)
p_2_in_ga1(x0)
IF_P_2_IN_1_GG1(p_2_out_ga1(f_11(Z))) -> P_2_IN_GG2(Z, g_1)
p_2_in_ga1(X) -> p_2_out_ga1(X)
POL(p_2_out_ga1(x1)) = 1 + x1
POL(P_2_IN_GG2(x1, x2)) = 2·x1 + x2
POL(IF_P_2_IN_1_GG1(x1)) = x1
POL(g_1) = 0
POL(f_11(x1)) = 2 + 2·x1
POL(p_2_in_ga1(x1)) = 2 + x1
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
P_2_IN_GG2(f_11(X), g_1) -> IF_P_2_IN_1_GG1(p_2_in_ga1(f_11(X)))
p_2_in_ga1(x0)